As consumption of content on mobile devices continues to grow, the diversity of devices used to consume content via messaging applications also grows. Client devices used to consume content have different capabilities, such as in terms of processing power, and operating system. In addition, the capabilities of a client device, such as battery levels, available storage space, network type, and bandwidth, vary over time. Application developers infrequently consider the heterogeneous capabilities of the client devices used to run the applications which can negatively impact user experience.